home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
c
/
flashpc.exe
/
FPCWIN.H
< prev
next >
Wrap
C/C++ Source or Header
|
1993-03-25
|
19KB
|
616 lines
/*--------------------------------------------------------------------
- Copyright (C) 1988-1992
- SimpleSoft Inc.
-
- Written by..... Kevin Dahl
- Module name.... fpwin.h
- Date created... 5/5/91
- Purpose........
-
--------------------------------------------------------------------*/
#ifndef FPCWIN
#define FPCWIN
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <malloc.h>
#include <dos.h>
#include <time.h>
#include <conio.h>
#include <fpclib.h>
/*--------------------------------------------------------------------
-
--------------------------------------------------------------------*/
typedef char CHAR; /* ch */
typedef short SHORT; /* s */
typedef long LONG; /* l */
typedef unsigned char UCHAR; /* uch */
typedef unsigned short USHORT; /* us */
typedef unsigned long ULONG; /* ul */
typedef unsigned char BYTE; /* b */
typedef unsigned char *PSZ;
typedef unsigned char *PCH;
typedef BYTE *PBYTE;
typedef CHAR *PCHAR;
typedef SHORT *PSHORT;
typedef LONG *PLONG;
typedef UCHAR *PUCHAR;
typedef USHORT *PUSHORT;
typedef ULONG *PULONG;
typedef unsigned short BOOL; /* f */
typedef BOOL *PBOOL;
typedef unsigned short SHANDLE;
typedef VOID FAR *LHANDLE;
typedef VOID FAR *MPARAM; /* msg param */
typedef LHANDLE HWND; /* hwnd */
typedef HWND *PHWND;
typedef LHANDLE HMQ; /* hmq */
typedef LHANDLE HAB; /* hab */
typedef VOID FAR *MPARAM; /* mp */
typedef MPARAM FAR *PMPARAM; /* pmp */
typedef VOID FAR *MRESULT; /* mres */
typedef MRESULT FAR *PMRESULT; /* pmres */
typedef USHORT HMODULE; /* hmod */
typedef HMODULE FAR *PHMODULE;
typedef VOID FAR *PVOID;
/*--------------------------------------------------------------------
-
--------------------------------------------------------------------*/
#define INT_TIMER 0x08
#define INT_KBD 0x09
#define INT_BIOSKBD 0x16
#define SYSQMAXEVENTS 50
#define DEFAULT_QUEUE_SIZE 10;
/*--------------------------------------------------------------------
-
--------------------------------------------------------------------*/
#define TRUE (BOOL) 1
#define FALSE (BOOL) 0
/*--------------------------------------------------------------------
- MouGetEventMask/MouSetEventMask events
--------------------------------------------------------------------*/
#define MOUSE 0x007f
#define MOUSE_MOTION 0x0001
#define MOUSE_BN1_DOWN 0x0002
#define MOUSE_BN1_UP 0x0004
#define MOUSE_BN2_DOWN 0x0008
#define MOUSE_BN2_UP 0x0010
#define MOUSE_BN3_DOWN 0x0020
#define MOUSE_BN3_UP 0x0040
#define MOUSE_BN_DOWN 0x002A
#define MOUSE_BN_UP 0x0054
/*--------------------------------------------------------------------
- Keyboard Shift Key masks.
--------------------------------------------------------------------*/
#define INSKEY 0x80
#define CAPSLOCK 0x40
#define NUMLOCK 0x20
#define SCROLLLOCK 0x10
#define ALTKEY 0x08
#define CTRLKEY 0x04
#define BSHFTKEY 0x03
#define LSHFTKEY 0x02
#define RSHFTKEY 0x01
/*--------------------------------------------------------------------
- Messages
--------------------------------------------------------------------*/
#define WM_NULL 0x0000
#define WM_CLOSE 0x0029
#define WM_QUIT 0x002a
/*--------------------------------------------------------------------
- Mouse input messages
--------------------------------------------------------------------*/
#define WM_MOUSEFIRST 0x0070
#define WM_MOUSELAST 0x0079
#define WM_BUTTONCLICKFIRST 0x0071
#define WM_BUTTONCLICKLAST 0x0079
#define WM_MOUSEMOVE 0x0070
#define WM_BUTTON1DOWN 0x0071
#define WM_BUTTON1UP 0x0072
#define WM_BUTTON1DBLCLK 0x0073
#define WM_BUTTON2DOWN 0x0074
#define WM_BUTTON2UP 0x0075
#define WM_BUTTON2DBLCLK 0x0076
#define WM_BUTTON3DOWN 0x0077
#define WM_BUTTON3UP 0x0078
#define WM_BUTTON3DBLCLK 0x0079
/*--------------------------------------------------------------------
- WM_HITTEST return codes
--------------------------------------------------------------------*/
#define HT_NORMAL 0
#define HT_TRANSPARENT (-1)
#define HT_DISCARD (-2)
#define HT_ERROR (-3)
/*--------------------------------------------------------------------
- Key/Character input messages
--------------------------------------------------------------------*/
#define WM_CHAR 0x007a
#define WM_VIOCHAR 0x007b
/*--------------------------------------------------------------------
- WM_CHAR fs field bits
--------------------------------------------------------------------*/
#define KC_CHAR 0x0001
#define KC_VIRTUALKEY 0x0002
#define KC_SCANCODE 0x0004
#define KC_SHIFT 0x0008
#define KC_CTRL 0x0010
#define KC_ALT 0x0020
#define KC_KEYUP 0x0040
#define KC_PREVDOWN 0x0080
#define KC_LONEKEY 0x0100
#define KC_DEADKEY 0x0200
#define KC_COMPOSITE 0x0400
#define KC_INVALIDCOMP 0x0800
/*--------------------------------------------------------------------
- Reserve a range of messages for help manager. This range includes
- public messages, defined below, and private ones, which need to be
- reserved here to prevent clashing with application messages
--------------------------------------------------------------------*/
#define WM_HELPBASE 0x0F00 /* Start of msgs for help manager */
#define WM_HELPTOP 0x0FFF /* End of msgs for help manager */
#define WM_USER 0x1000
/*--------------------------------------------------------------------
- Virtual key values
--------------------------------------------------------------------*/
#define VK_BUTTON1 0x01
#define VK_BUTTON2 0x02
#define VK_BUTTON3 0x03
#define VK_BREAK 0x04
#define VK_BACKSPACE 0x05
#define VK_TAB 0x06
#define VK_BACKTAB 0x07
#define VK_NEWLINE 0x08
#define VK_SHIFT 0x09
#define VK_CTRL 0x0A
#define VK_ALT 0x0B
#define VK_ALTGRAF 0x0C
#define VK_PAUSE 0x0D
#define VK_CAPSLOCK 0x0E
#define VK_ESC 0x0F
#define VK_SPACE 0x10
#define VK_PAGEUP 0x11
#define VK_PAGEDOWN 0x12
#define VK_END 0x13
#define VK_HOME 0x14
#define VK_LEFT 0x15
#define VK_UP 0x16
#define VK_RIGHT 0x17
#define VK_DOWN 0x18
#define VK_PRINTSCRN 0x19
#define VK_INSERT 0x1A
#define VK_DELETE 0x1B
#define VK_SCRLLOCK 0x1C
#define VK_NUMLOCK 0x1D
#define VK_ENTER 0x1E
#define VK_SYSRQ 0x1F
#define VK_F1 0x20
#define VK_F2 0x21
#define VK_F3 0x22
#define VK_F4 0x23
#define VK_F5 0x24
#define VK_F6 0x25
#define VK_F7 0x26
#define VK_F8 0x27
#define VK_F9 0x28
#define VK_F10 0x29
#define VK_F11 0x2A
#define VK_F12 0x2B
#define VK_F13 0x2C
#define VK_F14 0x2D
#define VK_F15 0x2E
#define VK_F16 0x2F
#define VK_F17 0x30
#define VK_F18 0x31
#define VK_F19 0x32
#define VK_F20 0x33
#define VK_F21 0x34
#define VK_F22 0x35
#define VK_F23 0x36
#define VK_F24 0x37
#define VK_MENU VK_F10
#define VK_DBCSFIRST 0x0080
#define VK_DBCSLAST 0x00ff
#define VK_USERFIRST 0x0100
#define VK_USERLAST 0x01ff
/*--------------------------------------------------------------------
- system variable access contants.
--------